package com.lyy.system.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lyy.Vo.MenuNodeVO;
import com.lyy.Vo.UserKeyWord;
import com.lyy.system.entity.Menu;

import java.util.List;
import java.util.Set;

public interface MenuService extends IService<Menu> {

    /**
     * 关键字搜索菜单列表
     * @param userKeyWord
     * @return
     */
    List<MenuNodeVO> queryMenuList(UserKeyWord userKeyWord);

    /**
     * 根据角色id查询菜单列表
     * @param wrapper
     * @return
     */
    Set<Long> getMenuByRoleId(QueryWrapper<Menu> wrapper);

    /**
     * 菜单详情
     * @param id
     * @return
     */
    Menu edit(Long id);

    /**
     * 新增菜单
     * @param menu
     */
    void addMenu(Menu menu);

    /**
     * 编辑菜单
     * @param menu
     */
    void updateMenu(Menu menu);

    /**
     * 删除菜单
     * @param id
     */
    void deleteMenu(Long id);
}
